Lifetime of an ipykernel
Jupyter kernel
Execution always starts with the constructor of the ipykernel.kernelbase.Kernel
subclass, and ends with do_shutdown
.
Jupyter notebook
Opening a notebook starts the kernel. Closing it leaves it running, shutdown has to be done explicitly.
Both
and shut the kernel down and start a new one.VS Code notebook
Opening a notebook editor starts the kernel, closing it shuts it down.
‘Restart’ shuts the kernel down and starts a new one.
Quarto
Quarto keeps by default one persistent kernel per document / notebook alive, and reuses it for all executions. There is no apparent indication to the kernel that execution has restarted.
This behavior can be avoided via execute:
/ daemon: false
.